{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1. 执行题目1：输入某年某月某日，判断这一天是这一年的第几天\n",
      "3. 执行题目3：判断1000中有多少个素数，并输出所有素数\n",
      "5. 执行题目5：利用条件运算符的嵌套来完成此题：学习成绩>=90分的同学用A表示，60-89分之间的用B表示，60分以下的用C表示\n",
      "7. 执行题目7：输入一行字符串，分别统计出其中英文字母、空格、数字和其它字符的个数\n",
      "9. 执行题目9：一个数如果恰好等于它的因子之和，这个数就称为“完数”。例如6=1＋2＋3.编程，找出1000以内的所有完数\n",
      "11. 执行题目11：输入任意数N，求1+2!+3!+...+N!的值（注意实数范围）\n",
      "13. 执行题目13：输入任意奇数N，按如下要求打印出图案（菱形）\n",
      "15. 执行题目15：对10个数进行排序\n",
      "17. 执行题目17：有一个已经排好序的数组（元素数量大于10）。从键盘任意输入一个数，要求按原来的规律将它插入数组中\n",
      "19. 执行题目19：有n个人围成一圈，顺序排号。从第一个人开始报数（从1到3报数），凡报到3的人退出圈子，问最后留下的是原来第几号的那位\n",
      "20. 增加题目\n",
      "21. 索引题目\n",
      "22. 退出\n",
      "2005年8月20日是这一年的第232天。\n",
      "1. 执行题目1：输入某年某月某日，判断这一天是这一年的第几天\n",
      "3. 执行题目3：判断1000中有多少个素数，并输出所有素数\n",
      "5. 执行题目5：利用条件运算符的嵌套来完成此题：学习成绩>=90分的同学用A表示，60-89分之间的用B表示，60分以下的用C表示\n",
      "7. 执行题目7：输入一行字符串，分别统计出其中英文字母、空格、数字和其它字符的个数\n",
      "9. 执行题目9：一个数如果恰好等于它的因子之和，这个数就称为“完数”。例如6=1＋2＋3.编程，找出1000以内的所有完数\n",
      "11. 执行题目11：输入任意数N，求1+2!+3!+...+N!的值（注意实数范围）\n",
      "13. 执行题目13：输入任意奇数N，按如下要求打印出图案（菱形）\n",
      "15. 执行题目15：对10个数进行排序\n",
      "17. 执行题目17：有一个已经排好序的数组（元素数量大于10）。从键盘任意输入一个数，要求按原来的规律将它插入数组中\n",
      "19. 执行题目19：有n个人围成一圈，顺序排号。从第一个人开始报数（从1到3报数），凡报到3的人退出圈子，问最后留下的是原来第几号的那位\n",
      "20. 增加题目\n",
      "21. 索引题目\n",
      "22. 退出\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "sys.path.append('C:\\\\Users\\\\29389\\\\Desktop\\\\大学\\\\大二\\\\Python\\\\si-dazhen\\\\期末公共题')\n",
    "import questions\n",
    "\n",
    "while True:\n",
    "    print(\"1. 执行题目1：输入某年某月某日，判断这一天是这一年的第几天\")\n",
    "    print(\"3. 执行题目3：判断1000中有多少个素数，并输出所有素数\")\n",
    "    print(\"5. 执行题目5：利用条件运算符的嵌套来完成此题：学习成绩>=90分的同学用A表示，60-89分之间的用B表示，60分以下的用C表示\")\n",
    "    print(\"7. 执行题目7：输入一行字符串，分别统计出其中英文字母、空格、数字和其它字符的个数\")\n",
    "    print(\"9. 执行题目9：一个数如果恰好等于它的因子之和，这个数就称为“完数”。例如6=1＋2＋3.编程，找出1000以内的所有完数\")\n",
    "    print(\"11. 执行题目11：输入任意数N，求1+2!+3!+...+N!的值（注意实数范围）\")\n",
    "    print(\"13. 执行题目13：输入任意奇数N，按如下要求打印出图案（菱形）\")\n",
    "    print(\"15. 执行题目15：对10个数进行排序\")\n",
    "    print(\"17. 执行题目17：有一个已经排好序的数组（元素数量大于10）。从键盘任意输入一个数，要求按原来的规律将它插入数组中\")\n",
    "    print(\"19. 执行题目19：有n个人围成一圈，顺序排号。从第一个人开始报数（从1到3报数），凡报到3的人退出圈子，问最后留下的是原来第几号的那位\")\n",
    "    print(\"20. 增加题目\")\n",
    "    print(\"21. 索引题目\")\n",
    "    print(\"22. 退出\")\n",
    "    choice = input(\"请输入你的选择: \")\n",
    "    if choice == \"1\":\n",
    "        questions.question_bank[\"1\"]()\n",
    "    elif choice == \"3\":\n",
    "        questions.question_bank[\"3\"]()\n",
    "    elif choice == \"5\":\n",
    "        questions.question_bank[\"5\"]()\n",
    "    elif choice == \"7\":\n",
    "        questions.question_bank[\"7\"]()\n",
    "    elif choice == \"9\":\n",
    "        questions.question_bank[\"9\"]()\n",
    "    elif choice == \"11\":\n",
    "        questions.question_bank[\"11\"]()\n",
    "    elif choice == \"13\":\n",
    "        questions.question_bank[\"13\"]()\n",
    "    elif choice == \"15\":\n",
    "        questions.question_bank[\"15\"]()\n",
    "    elif choice == \"17\":\n",
    "        questions.question_bank[\"17\"]()\n",
    "    elif choice == \"19\":\n",
    "        questions.question_bank[\"19\"]()\n",
    "    elif choice == \"20\":\n",
    "        new_id = input(\"请输入新题目的编号: \")\n",
    "        func_name = input(\"请输入新题目对应的函数名: \")\n",
    "        if func_name in globals() and callable(globals()[func_name]):\n",
    "            questions.question_bank[new_id] = globals()[func_name]\n",
    "        else:\n",
    "            print(\"输入的函数名不存在或不是可调用函数，请重新输入。\")\n",
    "    elif choice == \"21\":\n",
    "        index = input(\"请输入要索引的题目编号: \")\n",
    "        if index in questions.question_bank:\n",
    "            questions.question_bank[index]()\n",
    "        else:\n",
    "            print(\"该编号题目不存在\")\n",
    "    elif choice == \"22\":\n",
    "        break\n",
    "    else:\n",
    "        print(\"无效的选择，请重新输入\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
